package com.jeeplus.modules.statistics.mapper;

import com.jeeplus.modules.statistics.model.Employee.EmployeeEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Mapper
@Repository
public interface EmployeeMapper {

    /**
     * 添加员工
     * @param employeeEntity 员工对象
     * @return 数据库受影响的行数（0为添加失败1为添加完成）
     */
    public int addEmployee(EmployeeEntity employeeEntity);

    /**
     * 删除员工
     * @param id 需要删除的员工id
     * @return 数据库受影响的行数（0为删除失败1为删除完成）
     */
    public int delEmployee(String id);

    /**
     * 修改员工
     * @param employeeEntity 需要修改的员工对象
     * @return 数据库受影响的行数（0为修改失败1为修改完成）
     */
    public int updateEmployee(EmployeeEntity employeeEntity);

    /**
     * 查询全部员工
     * @param map 需要查询的条件（条件有员工姓名和员工工号）
     * @return 员工对象的集合
     */
    public List<EmployeeEntity> findEmployee(Map<String, Object> map);

    /**
     * 按id查询员工
     * @param id 员工的id
     * @return  员工对象
     */
     EmployeeEntity findEmployeeById(@Param("id") String id);
    /**
     * 查询全部地区（）
     * @return 地区map的集合
     */
    public List<Map<String,Object>> findRegion();

    /**
     * 查询全部员工
     * @return 员工对象的集合
     */
    public List<EmployeeEntity> findEmployeeAll();

}
